package main

import "fmt"

//不管是什么牌子，都能跑
//定义一个car接口类型
//不管是什么结构体，只要有run方法都是car类型
type car interface {
	run()
}
type falali struct {
	brand string
}

type baoshijie struct {
	brand string
}

func (f falali) run() {
	fmt.Printf("%s跑的快 \n", f.brand)
}

func (f baoshijie) run() {
	fmt.Printf("%s跑的远 \n", f.brand)
}

//drive函数接收一个car类型的变量
func drive(c car) {
	c.run()
}

func main() {
	f1 := falali{
		brand: "法拉利",
	}
	drive(f1)

	var b1 = baoshijie{
		brand: "保时捷",
	}
	drive(b1)

}
